Ext.define('SistIntegral.RRHH.FrmContratoAdenda', {

    alias: "FrmCContratoAdenda",
    forward: true,

    Formulario: function (btn) {

        var ComboTrabCatContrato = new SistIntegral.Componentes.Objetos().ComboTrabCatContrato(btn);
        var ComboGrupoOcupacional = new SistIntegral.Componentes.Objetos().ComboGrupoOcupacional();
        var ComboNivelEducativo = new SistIntegral.Componentes.Objetos().ComboNivelEducativo();
        var ComboAreaPosicion = new SistIntegral.Componentes.Objetos().ComboAreaPosicion();
        var ComboHorario = new SistIntegral.Componentes.Objetos().ComboHorario();
        var ComboSeguro = new SistIntegral.Componentes.Objetos().ComboSeguro();
        var ComboTipoPagoPlanilla = new SistIntegral.Componentes.Objetos().ComboTipoPagoPlanilla();
        var ComboPeriodicidadIngreso = new SistIntegral.Componentes.Objetos().ComboPeriodicidadIngreso();

        var StoreContratoAdendaE = Ext.create('Ext.data.Store', {
            model: 'ContratoAdendaPersonal',
            proxy: {
                type: 'ajax',
                url: 'contratoadenda/IndexById/' + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                reader: { type: 'json', root: 'grid' }
            }
        });

        StoreContratoAdendaE.on('load', function (store, records) {
            Ext.getCmp('FrmContratoAdenda').loadRecord(records[0]);
            Ext.getCmp('CmbCatTrabajador').getStore().loadRecords(records);
            Ext.getCmp('CmbCatTrabajador').setValue(records[0].get('IdCategoria'));
            Ext.getCmp('CmbTipoTrabajador').getStore().loadRecords(records);
            Ext.getCmp('CmbTipoTrabajador').setValue(records[0].get('IdTipoTrabajador'));
            Ext.getCmp('CmbTipoContrato').getStore().loadRecords(records);
            Ext.getCmp('CmbTipoContrato').setValue(records[0].get('IdTipoContrato'));
            Ext.getCmp('CmbGrupoOcupacional').getStore().loadRecords(records);
            Ext.getCmp('CmbGrupoOcupacional').setValue(records[0].get('IdGrupoOcupacional'));
            Ext.getCmp('CmbNivelEducativo').getStore().loadRecords(records);
            Ext.getCmp('CmbNivelEducativo').setValue(records[0].get('IdNivelEducativo'));
            Ext.getCmp('CmbHorario').getStore().loadRecords(records);
            Ext.getCmp('CmbHorario').setValue(records[0].get('IdHorario'));
            Ext.getCmp('CmbArea').getStore().loadRecords(records);
            Ext.getCmp('CmbArea').setValue(records[0].get('IdArea'));
            Ext.getCmp('CmbPosicion').getStore().loadRecords(records);
            Ext.getCmp('CmbPosicion').setValue(records[0].get('IdPosicion'));
            Ext.getCmp('CmbTipoPagoPlanilla').getStore().loadRecords(records);
            Ext.getCmp('CmbTipoPagoPlanilla').setValue(records[0].get('IdTipoPagoPlanilla'));
            Ext.getCmp('CmbPeriodicidadIngreso').getStore().loadRecords(records);
            Ext.getCmp('CmbPeriodicidadIngreso').setValue(records[0].get('IdPeriodicidadIngreso'));
         //   Ext.getCmp('ComboSeguro').getStore().loadRecords(records); //El nombre referente al componente.js
         //   Ext.getCmp('ComboSeguro').setValue(records[0].get('VF'));

        });

        var Frm = Ext.create('Ext.form.Panel', {
            id: 'FrmContratoAdenda',
            bodyPadding: '5',
            fieldDefaults: {
                msgTarget: 'side',
                labelAlign: 'left',
                labelWidth: 100,
                anchor: '100%',
                margin: '0 5 5 5'
            },
            items: [{
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'datefield',
                    fieldLabel: 'Fecha Inicio',
                    name: 'fechainicio',
                    allowBlank: false,
                    flex: 1
                }, {
                    xtype: 'datefield',
                    fieldLabel: 'Fecha Fin',
                    name: 'fechafin',
                    allowBlank: false,
                    flex: 1
                }]
            }, ComboTrabCatContrato,ComboSeguro, {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboGrupoOcupacional, ComboNivelEducativo]
            }, ComboAreaPosicion, ComboHorario, {
                xtype: 'container',
                layout: 'hbox',
                items: [ComboTipoPagoPlanilla, ComboPeriodicidadIngreso]
            }, {
                xtype: 'container',
                layout: 'hbox',
                items: [{
                    xtype: 'numberfield',
                    flex: 1,
                    name: 'sueldo',
                    allowBlank: false,
                    fieldLabel: 'Sueldo',
                    minValue: 0
                }, {
                    xtype: 'filefield',
                    id: 'adjunto',
                    flex: 1,
                    emptyText: 'SELECCIONE ARCHIVO',
                    fieldLabel: 'Adjunto',
                    name: 'adjunto',
                    buttonText: '',
                    buttonConfig: {
                        iconCls: 'subirarchivo'
                    }
                }]
            },
        {
            xtype: 'hiddenfield',
            name: 'idcontrato',
            value: btn.IdContrato
        }, {
            xtype: 'hiddenfield',
            name: 'IdPersonal',
            value: btn.IdPersonal
        }, {
            xtype: 'textfield',
            name: 'IdPeriodoLaboral'//,
            //value: 
        }],
            buttons: [{
                text: 'Guardar',
                iconCls: 'guardar',
                handler: function () {
                    var form = this.up('form').getForm();
                    if (form.isValid()) {
                        form.submit({
                            url: btn.hrefTarget + (btn.itemId == 'edit' ? btn.Seleccion.get('Id') : ''),
                            success: function (form, action) {
                                Ext.getCmp('arbolcontratoadenda' + btn.IdPersonal).getStore().load();
                                Ext.getCmp('WContratoAdenda').close();
                                Ext.MessageBox.show({
                                    msg: 'Registro Creado Correctamente...',
                                    progressText: 'Actualizando...',
                                    width: 300,
                                    icon: 'ext-mb-download'
                                });
                                setTimeout(function () {
                                    Ext.MessageBox.hide();
                                }, 1000);
                            },
                            failure: function (form, action) {
                                console.log(action);
                                Ext.getCmp('arbolcontratoadenda' + btn.IdPersonal).getStore().load();
                                Ext.getCmp('WContratoAdenda').close();
                                Ext.Msg.alert('Error', action.result.msg);
                            }
                        });
                    }
                }
            }, {
                text: 'Limpiar', iconCls: 'limpiar',
                handler: function () {
                    this.up('form').getForm().reset();
                }
            }]
        });
        if (btn.itemId == 'edit') { StoreContratoAdendaE.load(); }
        if (btn.itemId == 'createAdenda') { StoreContratoAdendaE.load({ url: 'contratoadenda/IndexByIdAdenda/' + btn.IdContrato }); }
        return Frm;
    },

    Window: function (btn) {
        var Seleccion;

        Ext.Ajax.request({
            url: 'contratoadenda/ComprobarSueldo/' + btn.IdPersonal,
            success: function (httpReq) {
                var textRes = httpReq.responseText;
                var vector = textRes.split("#");
                console.log(vector);
                if (vector[0] != '0') {
                    btn.sueldo = vector[0];
                    //btn.idejerciciomes = vector[2];
                }
            }
        });

        if (btn.itemId == 'edit') {
            Seleccion = Ext.getCmp('arbolcontratoadenda' + btn.IdPersonal).getSelectionModel().getSelection()[0];
            if (!Seleccion) {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Contrato o Adenda Para Editar',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            }
            else {
                //btn.hrefTarget = '';
                if (Seleccion.get('Tipo') == 1) {
                    btn.hrefTarget = 'contrato/edit/';
                }
                else { btn.hrefTarget = 'adenda/edit/'; }
                btn.Seleccion = Seleccion
            }
        } else if (btn.itemId == 'createAdenda') {
            ///
            Seleccion = Ext.getCmp('arbolcontratoadenda' + btn.IdPersonal).getSelectionModel().getSelection()[0];
            if (!Seleccion) {
                Ext.Msg.show({
                    title: 'Advertencia',
                    msg: 'Seleccione Contrato Para Agregar Adenda',
                    icon: Ext.MessageBox.WARNING,
                    buttons: Ext.Msg.OK
                });
                return false;
            }
            else {
                //btn.hrefTarget = '';
                if (Seleccion.get('Tipo') == 1) {
                    btn.hrefTarget = 'adenda/create/';
                    btn.IdContrato = Seleccion.get('Id');
                }
                else {
                    Ext.Msg.show({
                        title: 'Advertencia',
                        msg: 'Seleccione Contrato Para Agregar Adenda',
                        icon: Ext.MessageBox.WARNING,
                        buttons: Ext.Msg.OK
                    });
                    return false;
                }
            }

            ///
        }

        var Item = this.Formulario(btn);

        var win = Ext.create('widget.window', {
            id: 'WContratoAdenda',
            title: btn.getText(),
            closable: true,
            //bodyPadding:'5',
            border: false,
            width: 800,
            minWidth: 700,
            height: 300,
            minHeight: 300,
            layout: 'fit',
            modal: true,
            items: [Item]
        });

        return win.show();
    }
});